package com.jims.master.modules.tj.entity; /**
 * jims
 */

import com.fasterxml.jackson.annotation.JsonFormat;
import com.jims.master.common.persistence.DataEntity;
import org.hibernate.validator.constraints.Length;

import javax.validation.constraints.NotNull;
import java.util.Date;
import java.util.List;

/**
 * 体检客户基础信息Entity
 * @author ct
 * @version 2018-05-04
 */
public class TjHzRecord extends DataEntity<TjHzRecord> {
	
	private static final long serialVersionUID = 1L;
	private String recordNo;		// 体检编号
	private Date recordDate;		// 体检/到检时间
	private Date recordTime;		// 总检审核时间
	private String userName;		// 姓名
	private String sex;		// 性别
	private String age;		// 年龄
	private String birth;		// 出生日期
	private String mobile;		// 手机
	private String email;		// 邮箱
	private String cardNumber;		// 身份证号
	private String company;		// 体检人单位名称
	private String dwdm;		// 单位代码
	private String checkState;		// 总检状态 0未总检1已总检
	private Date printreportTime;		// 报告打印时间
	private String blood;		// 血型
	private String isMarry;		// 婚姻状况
	private String telephone;		// 电话
	private String professional;		// 职业
	private String groupNo;		// 团体号
	private String dah;		// 档案号
	private String tcmc;		// 体检套餐
	private String tcjg;		// 体检套餐价格
	private String provinceCode;		// 省级编码
	private String cityCode;		// 市级编码
	private String districtCode;		// 地区编码(含县)
	private String hospitalCode;		// 医院编码
	private String examType;		// 体检者类型
	private String isPublic;
	private TjHzAbnor tjHzAbnor;

	public String getIsPublic() {
		return isPublic;
	}

	public void setIsPublic(String isPublic) {
		this.isPublic = isPublic;
	}

	public TjHzAbnor getTjHzAbnor() {
		return tjHzAbnor;
	}

	public void setTjHzAbnor(TjHzAbnor tjHzAbnor) {
		this.tjHzAbnor = tjHzAbnor;
	}

	public TjHzRecord() {
		super();
	}

	public TjHzRecord(String id){
		super(id);
	}

	@Length(min=1, max=50, message="体检编号长度必须介于 1 和 50 之间")
	public String getRecordNo() {
		return recordNo;
	}

	public void setRecordNo(String recordNo) {
		this.recordNo = recordNo;
	}
	
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	@NotNull(message="体检/到检时间不能为空")
	public Date getRecordDate() {
		return recordDate;
	}

	public void setRecordDate(Date recordDate) {
		this.recordDate = recordDate;
	}
	
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	@NotNull(message="总检审核时间不能为空")
	public Date getRecordTime() {
		return recordTime;
	}

	public void setRecordTime(Date recordTime) {
		this.recordTime = recordTime;
	}
	
	@Length(min=1, max=50, message="姓名长度必须介于 1 和 50 之间")
	public String getUserName() {
		return userName;
	}

	public void setUserName(String userName) {
		this.userName = userName;
	}
	
	@Length(min=0, max=2, message="性别长度必须介于 0 和 2 之间")
	public String getSex() {
		return sex;
	}

	public void setSex(String sex) {
		this.sex = sex;
	}
	
	@Length(min=0, max=3, message="年龄长度必须介于 0 和 3 之间")
	public String getAge() {
		return age;
	}

	public void setAge(String age) {
		this.age = age;
	}
	
	@Length(min=0, max=50, message="出生日期长度必须介于 0 和 50 之间")
	public String getBirth() {
		return birth;
	}

	public void setBirth(String birth) {
		this.birth = birth;
	}
	
	@Length(min=0, max=50, message="手机长度必须介于 0 和 50 之间")
	public String getMobile() {
		return mobile;
	}

	public void setMobile(String mobile) {
		this.mobile = mobile;
	}
	
	@Length(min=0, max=50, message="邮箱长度必须介于 0 和 50 之间")
	public String getEmail() {
		return email;
	}

	public void setEmail(String email) {
		this.email = email;
	}
	
	@Length(min=0, max=50, message="身份证号长度必须介于 0 和 50 之间")
	public String getCardNumber() {
		return cardNumber;
	}

	public void setCardNumber(String cardNumber) {
		this.cardNumber = cardNumber;
	}
	
	@Length(min=0, max=100, message="体检人单位名称长度必须介于 0 和 100 之间")
	public String getCompany() {
		return company;
	}

	public void setCompany(String company) {
		this.company = company;
	}
	
	@Length(min=0, max=50, message="单位代码长度必须介于 0 和 50 之间")
	public String getDwdm() {
		return dwdm;
	}

	public void setDwdm(String dwdm) {
		this.dwdm = dwdm;
	}
	
	@Length(min=0, max=1, message="总检状态 0未总检1已总检长度必须介于 0 和 1 之间")
	public String getCheckState() {
		return checkState;
	}

	public void setCheckState(String checkState) {
		this.checkState = checkState;
	}
	
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	public Date getPrintreportTime() {
		return printreportTime;
	}

	public void setPrintreportTime(Date printreportTime) {
		this.printreportTime = printreportTime;
	}
	
	@Length(min=0, max=50, message="血型长度必须介于 0 和 50 之间")
	public String getBlood() {
		return blood;
	}

	public void setBlood(String blood) {
		this.blood = blood;
	}
	
	@Length(min=0, max=50, message="婚姻状况长度必须介于 0 和 50 之间")
	public String getIsMarry() {
		return isMarry;
	}

	public void setIsMarry(String isMarry) {
		this.isMarry = isMarry;
	}
	
	@Length(min=0, max=50, message="电话长度必须介于 0 和 50 之间")
	public String getTelephone() {
		return telephone;
	}

	public void setTelephone(String telephone) {
		this.telephone = telephone;
	}
	
	@Length(min=0, max=100, message="职业长度必须介于 0 和 100 之间")
	public String getProfessional() {
		return professional;
	}

	public void setProfessional(String professional) {
		this.professional = professional;
	}
	
	@Length(min=0, max=50, message="团体号长度必须介于 0 和 50 之间")
	public String getGroupNo() {
		return groupNo;
	}

	public void setGroupNo(String groupNo) {
		this.groupNo = groupNo;
	}
	
	@Length(min=0, max=50, message="档案号长度必须介于 0 和 50 之间")
	public String getDah() {
		return dah;
	}

	public void setDah(String dah) {
		this.dah = dah;
	}
	
	@Length(min=0, max=100, message="体检套餐长度必须介于 0 和 100 之间")
	public String getTcmc() {
		return tcmc;
	}

	public void setTcmc(String tcmc) {
		this.tcmc = tcmc;
	}
	
	@Length(min=0, max=50, message="体检套餐价格长度必须介于 0 和 50 之间")
	public String getTcjg() {
		return tcjg;
	}

	public void setTcjg(String tcjg) {
		this.tcjg = tcjg;
	}
	
	@Length(min=0, max=100, message="省级编码长度必须介于 0 和 100 之间")
	public String getProvinceCode() {
		return provinceCode;
	}

	public void setProvinceCode(String provinceCode) {
		this.provinceCode = provinceCode;
	}
	
	@Length(min=0, max=100, message="市级编码长度必须介于 0 和 100 之间")
	public String getCityCode() {
		return cityCode;
	}

	public void setCityCode(String cityCode) {
		this.cityCode = cityCode;
	}
	
	@Length(min=0, max=100, message="地区编码(含县)长度必须介于 0 和 100 之间")
	public String getDistrictCode() {
		return districtCode;
	}

	public void setDistrictCode(String districtCode) {
		this.districtCode = districtCode;
	}
	
	@Length(min=0, max=50, message="医院编码长度必须介于 0 和 50 之间")
	public String getHospitalCode() {
		return hospitalCode;
	}

	public void setHospitalCode(String hospitalCode) {
		this.hospitalCode = hospitalCode;
	}
	
	@Length(min=0, max=50, message="体检者类型长度必须介于 0 和 50 之间")
	public String getExamType() {
		return examType;
	}

	public void setExamType(String examType) {
		this.examType = examType;
	}
	
}